package com.sunwhite.algorithm.question;

import java.math.BigInteger;

/**
 * 古典问题：有一对兔子，从出生后第3个月起每个月都生一对兔子，
 *  小兔子长到第三个月后每个月又生一对兔子，假如兔子都不死，问每个月的兔子总数为多少？
 */
public class TopicOne {
  public static void main(String[] args) {
    //
      TopicOne topicOne = new TopicOne();
      topicOne.answerOne();

  }

    /**
     * 1 2 3 4 5 6 7 8 9 10 月数
     * 1 1 2 3 5 8            斐波那契数列
     */
  public void answerOne(){
      BigInteger f1=new BigInteger("1");// 斐波那契数列数字1 一对兔子
      BigInteger  f2=new BigInteger("1");    //数字2
      BigInteger f;
      int month=100;    //月数
      System.out.println("第"+1+"个月兔子数量为："+1+"只");
      System.out.println("第"+2+"个月兔子数量为："+1+"只");
    for (int i = 1; i <=month; i++) {
        //每个月数的兔子数量
        f=f1.add(f2);
        f1=f2;
        f2=f;
      System.out.println("第"+(i+2)+"个月兔子数量为："+f+"只");
    }
  }

}
